home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-07-20 | 4.1 KB | 92 lines | [TEXT/EDIT] |
- ( Grafics )
-
- ( create named rects )
- : RECT ( compile: -- ) ( run: -- addr ) variable 6 allot ;
-
- ( rect words work on any 8 bytes )
- : !RECT ( t l b r rect -- ) >r swap r 4 + 2! swap r> 2! ;
- : @RECT ( rect -- t l b r ) dup 2@ swap rot 4 + 2@ swap ;
- : @TL ( rect -- t l ) @rect 2drop ;
- : RCENTER ( rect -- h v ) @rect >r swap >r ( -- tb r: -- rl )
- over - 2 / + 2r> dup rot swap - 2 / + swap ;
- : RCLIP ( rect -- ) a>r ,$ A87B ; ( _ClipRect )
- : RINVALID ( rect -- ) a>r ,$ A928 ; ( _InvalRect )
- : ROFFSET ( h v rect -- ) a>r 2>r ,$ A8A8 ; ( _OffsetRect )
- : RINSET ( h v rect -- ) a>r 2>r ,$ A8A9 ; ( _InsetRect ) ( fixed)
- : ?IN ( h v rect -- flag ) ( true if h,v is in rect at addr )
- 0 >r rot rot 2>r a>r ,$ A8AD r> ; ( _PtInRect )
- : ?EMPTY ( rect -- flag ) 0 >r a>r ,$ A8AE r> ; ( _EmptyRect )
-
- ( rect drawing )
- : RFRAME ( rect -- ) a>r ,$ A8A1 ; ( _FrameRect )
- : OFRAME ( rect -- ) a>r ,$ A8B7 ; ( _FrameOval )
- : RERASE ( rect -- ) a>r ,$ A8A3 ; ( _EraseRect )
- : OERASE ( rect -- ) a>r ,$ A8B9 ; ( _EraseOval )
- : RINVERT ( rect -- ) a>r ,$ A8A4 ; ( _InvertRect )
- : OINVERT ( rect -- ) a>r ,$ A8BA ; ( _InvertOval )
-
- ( Read PICT resources from a file on disk ) ( If the pictures ... )
- ( ... are in the current file, only getpict need be called. )
- variable #REF ( resource file reference number )
- : ROPEN ( addr -- ) ( rel addr of the file/path name )
- 0 >r a>r ,$ A997 r> #ref ! ; ( _OpenResFile )
- : RCLOSE ( -- ) ( always close after each opening )
- #ref @ >r ,$ A99A 0 #ref ! ; ( _CloseResFile )
- : GETPICT ( id -- dhandle ) 0 0 2>r >r ,$ A9BC 2r> ; ( _GetPict )
-
- ( create pictures )
- : PICTURE ( rect -- dhandle ) ( start a picture definition )
- 0 0 2>r a>r ,$ A8F3 2r> ; ( _OpenPicture )
- : PCLOSE ,$ A8F4 ; macro ( _ClosePicture )
- : PKILL ( addr -- ) 2@ 2>r ,$ A8F5 ; ( _KillPicture at addr )
-
- ( display pictures )
- : PRECT ( dhandle -- t l b r ) ( the Picture RECT )
- dl@ 2dup 2 0 d+ dl@ 2swap 6 0 d+ dl@ ;
- : PSIZE ( dhandle -- h v ) prect rot - abs rot rot - abs ;
- : DPICT ( dhandle h v -- ) ( draw a picture in its own rect )
- 2over psize 2over d+ here !rect
- 2>r here a>r ,$ A8F6 ; ( _DrawPicture )
- : PDRAW ( rect dhandle -- ) ( draw a picture in a rect )
- 2>r a>r ,$ A8F6 ; ( _DrawPicture )
-
- ( regions ) ( keep the handle on the stack "dhandle" )
- : REGION ( -- dhandle ) ( create an open region, deliver a handle )
- 0 0 2>r ,$ A8D8 2r> ,$ A8DA ; ( _NewRgn _OpenRgn )
- : RGCLOSE ( dhandle -- ) 2>r ,$ A8DB ; macro ( _CloseRgn )
- : RGDISP ( dhandle -- ) 2>r ,$ A8D9 ; macro ( _DisposRgn )
- : RGCLIP ( dhandle -- ) 2>r ,$ A879 ; macro ( _SetClip )
- : ?RGIN ( dhandle h v -- flag ) ( true if h,v is in region at dhandle )
- 0 >r 2>r 2>r ,$ A8E8 r> ; ( _PtInRegion )
-
- ( region drawing )
- : RGFRAME ( dhandle -- ) 2>r ,$ A8D2 ; macro ( _FrameRgn )
- : RGERASE ( dhandle -- ) 2>r ,$ A8D4 ; macro ( _EraseRgn )
- : RGINVERT ( dhandle -- ) 2>r ,$ A8D5 ; macro ( _InvertRgn )
-
- ( font words )
- : !FONT ( n -- ) >r ,$ A887 ; macro ( _TextFont ) ( set font )
- : !FSIZE ( n -- ) >r ,$ A88A ; macro ( _TextSize ) ( set size )
- : !FACE ( face -- ) >r ,$ A888 ; macro ( _TextFace ) ( set style )
- : SFONT ( -- ) 0 !font 12 !fsize ; ( set System font )
- : NFONT ( -- ) 4 !font 09 !fsize ; ( set Normal font )
-
- ( Polygons ) ( keep the handle in a 2variable "poly" )
- : NPOLY ( poly -- ) 0 0 2>r ,$ A8CB 2r> rot 2! ; ( _OpenPoly )
- : CPOLY ( -- ) ,$ A8CC ; macro ( _ClosePgon )
- : FPOLY ( poly -- ) 2@ 2>r ,$ A8C6 ; ( _FramePoly )
- : EPOLY ( poly -- ) 2@ 2>r ,$ A8C8 ; ( _ErasePoly )
- : KPOLY ( poly -- ) 2@ 2>r ,$ A8CD ; ( _KillPoly )
- : ?PHIT ( h v poly -- flag ) ( true if h,v is in polyBBox )
- 0 >r 2@ dl@ 2 0 d+ 2swap 2>r 2>r ,$ A8AD r> ; ( _PtInRect )
-
- ( old style colors )
- : BLACK 33 0 2>r ,$ A862 ; ( black _ForeColor )
- : WHITE 30 0 2>r ,$ A862 ; ( white _ForeColor )
- : RED 205 0 2>r ,$ A862 ; ( red _ForeColor )
- : GREEN 341 0 2>r ,$ A862 ; ( green _ForeColor )
- : BLUE 409 0 2>r ,$ A862 ; ( blue _ForeColor )
- : CYAN 273 0 2>r ,$ A862 ; ( blue-green _ForeColor )
- : MAGENTA 137 0 2>r ,$ A862 ; ( purple _ForeColor )
- : YELLOW 69 0 2>r ,$ A862 ; ( yellow _ForeColor )
-